package com.company.service;

import org.apache.commons.lang3.time.DateUtils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {
    private static String[] parsePatterns = {"yyyy-MM-dd","yyyy年MM月dd日",
            "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy/MM/dd",
            "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyyMMdd"};

    /**
     * 获取当前时间戳（秒）
     * @return
     */
    public static String getFullTimeStamp() {
        return String.valueOf(System.currentTimeMillis()/1000);
    }

    /**
     * 格式:yyyy-MM-dd HH:mm:ss
     * @return 时间转换
     */
    public static String getTimeStamp(){
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) ;
    }

    /**
     * Date转yyyy-MM-dd HH:mm:ss格式的字符串
     * @return 时间转换
     */
    public static String dateToString(Date date){
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
    }

    /**
     * 任意字符串转Date
     * @param s
     * @return
     */
    public static Date parse(String s) {
        try {
            Date date = DateUtils.parseDate(s, parsePatterns);
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String formatterStr = formatter.format(date);
            return formatter.parse(formatterStr);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
}
